package com.github.HarryHook.coding2017.linklist;

import org.junit.Assert;

import org.junit.Test;

public class LRUPageFrameTest {

    @Test
    public void testAccess() {
	LRUPageFrame frame = new LRUPageFrame(3);
	frame.access(7);
	Assert.assertEquals("7", frame.toString());
	frame.access(0);
	Assert.assertEquals("0,7", frame.toString());
	frame.access(7);
	Assert.assertEquals("7,0", frame.toString());
	frame.access(1);
	Assert.assertEquals("1,7,0", frame.toString());
	frame.access(2);
	Assert.assertEquals("2,1,7", frame.toString());
	frame.access(0);
	Assert.assertEquals("0,2,1", frame.toString());
	frame.access(0);
	Assert.assertEquals("0,2,1", frame.toString());
	frame.access(3);
	Assert.assertEquals("3,0,2", frame.toString());
	frame.access(0);
	Assert.assertEquals("0,3,2", frame.toString());
	frame.access(4);
	Assert.assertEquals("4,0,3", frame.toString());
    }

}
